home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / QuickDraw3D 1.6 SDK / Mac SampleCode Previous / Plug-In Samples / Plug-in - Postscript Renderer / IRS_Methods.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-18  |  3.4 KB  |  155 lines  |  [TEXT/CWIE]

  1. /******************************************************************************\
  2.                                                                         
  3.         Module:        IRS_Methods.c                                            
  4.                                                                             
  5.         Purpose:     renderer top level QD3D metahandler functions                                
  6.                                                                         
  7.         Author:        Sun-Inn Shih                                        
  8.                                                                         
  9.         Copyright (C) 1993-96 Apple Computer, Inc.  All rights reserved.    
  10.                                                                             
  11. \*****************************************************************************/
  12. #include <stdlib.h>
  13. #include <stdio.h>
  14. #include <QD3D.h>
  15. #include <QD3DGeometry.h>
  16. #include "IRS_Methods.h"
  17.  
  18. /*===========================================================================*\
  19.  *
  20.  *    Routine:    PFNew()
  21.  *
  22.  *    Comments:    
  23.  *
  24. \*===========================================================================*/
  25.  
  26. TQ3Status IRSNew(
  27.     TQ3RendererObject        pRenderer,
  28.     irsData                    *irsdata,
  29.     void                    *pInitData)
  30. {
  31.     (void)(pInitData);
  32.     (void)(pRenderer);
  33.     
  34.     irsdata->filePtr = NULL;
  35.     irsdata->scale = 300;
  36.     irsdata->center = 300;
  37.     
  38.     return kQ3Success;
  39. }
  40.     
  41. /*===========================================================================*\
  42.  *
  43.  *    Routine:    PFDelete()
  44.  *
  45.  *    Comments:    
  46.  *
  47. \*===========================================================================*/
  48.  
  49. void IRSDelete(
  50.     TQ3RendererObject         pRenderer,
  51.     irsData                    *irsdata)
  52. {
  53.     (void)(pRenderer);
  54.     (void)(irsdata);
  55.  
  56. }
  57.  
  58. /*===========================================================================*\
  59.  *
  60.  *    Routine:    IRSStartFrame()
  61.  *
  62.  *    Comments:    
  63.  *
  64. \*===========================================================================*/
  65.  
  66. TQ3Status IRSStartFrame(
  67.     TQ3ViewObject            pView,
  68.     irsData                    *irsdata,
  69.     TQ3DrawContextObject    pQD3DDrawContext)
  70. {
  71.         if(irsdata->filePtr == NULL)
  72.         {
  73.             irsdata->filePtr = fopen("IRShelloutput.ps", "w");
  74.         }
  75.  
  76.         fprintf(irsdata->filePtr, "%%!PS-Adobe-3.0\n");
  77.         fprintf(irsdata->filePtr, "0 setgray\n");
  78.         fprintf(irsdata->filePtr, "1 setlinecap\n");
  79.         fprintf(irsdata->filePtr, "1 setlinejoin\n");
  80.  
  81.         return kQ3Success;
  82. }
  83.  
  84. /*===========================================================================*\
  85.  *
  86.  *    Routine:    IRSEndFrame()
  87.  *
  88.  *    Comments:    
  89.  *
  90. \*===========================================================================*/
  91.  
  92. TQ3Status IRSEndFrame(
  93.     TQ3ViewObject            pView,
  94.     irsData                    *irsdata,
  95.     TQ3DrawContextObject    pQD3DDrawContext)
  96. {
  97.         if(irsdata->filePtr != NULL)
  98.         {
  99.             fprintf(irsdata->filePtr, "stroke\n");
  100.             fprintf(irsdata->filePtr, "showpage\n");
  101.             fclose(irsdata->filePtr);
  102.             irsdata->filePtr = NULL;
  103.         }
  104.         return kQ3Success;
  105. }
  106.  
  107. /*===========================================================================*\
  108.  *
  109.  *    Routine:    IRSStartPass()
  110.  *
  111.  *    Comments:    
  112.  *
  113. \*===========================================================================*/
  114.  
  115. TQ3Status IRSStartPass(
  116.     TQ3ViewObject            pView,
  117.     irsData                    *irsdata,
  118.     TQ3CameraObject            pCamera,
  119.     TQ3GroupObject            pLightGroup)
  120. {
  121.     return kQ3Success;
  122. }
  123.  
  124. /*===========================================================================*\
  125.  *
  126.  *    Routine:    IRSEndPass()
  127.  *
  128.  *    Comments:    
  129.  *
  130. \*===========================================================================*/
  131.  
  132. TQ3ViewStatus IRSEndPass(
  133.     TQ3ViewObject            pView,
  134.     irsData                    *irsdata)
  135. {
  136.     return kQ3ViewStatusDone;
  137. }
  138.  
  139.  
  140. /*===========================================================================*\
  141.  *
  142.  *    Routine:    IRSCancel()
  143.  *
  144.  *    Comments:    
  145.  *
  146. \*===========================================================================*/
  147.  
  148. void IRSCancel(
  149.     TQ3ViewObject             pView,
  150.     irsData                    *irsdata)
  151. {
  152.     (void)(pView);
  153. }
  154.     
  155.